package javachongkao.面向对象上.设计一个BankAccount类;

import java.util.Scanner;
//7-38 设计一个BankAccount类
//设计一个BankAccount类，这个类包括：
//（1）一个int型的balance表时账户余额。
//（2）一个无参构造方法，将账户余额初始化为0。
//（3）一个带一个参数的构造方法，将账户余额初始化为该输入的参数。
//（4）一个getBlance（）方法，返回账户余额。
//（5）一个withdraw（）方法：带一个amount参数，并从账户余额中提取amount指定的款额。
//（6）一个deposit（）方法：带一个amount参数，并将amount指定的款额存储到该银行账户上。
//设计一个Main类进行测试，分别输入账户余额、提取额度以及存款额度，并分别输出账户余额。
//
//输入格式:
//依次输入账户余额、提取额度、存款额度
//
//输出格式:
//依次输出初始账户余额、提取amount额度后的账户余额、存入amount后的账户余额
class BankAccount {
    private int balance;

    // 无参构造方法，将账户余额初始化为0
    public BankAccount() {
        this.balance = 0;
    }

    // 带一个参数的构造方法，将账户余额初始化为该输入的参数
    public BankAccount(int balance) {
        this.balance = balance;
    }

    // 返回账户余额
    public int getBalance() {
        return balance;
    }

    // 从账户余额中提取amount指定的款额
    public void withdraw(int amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
        }
    }

    // 将amount指定的款额存储到该银行账户上
    public void deposit(int amount) {
        if (amount > 0) {
            balance += amount;
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // 读取账户余额、提取额度、存款额度
        int initialBalance = input.nextInt();
        int withdrawAmount = input.nextInt();
        int depositAmount = input.nextInt();

        // 创建BankAccount对象
        BankAccount account = new BankAccount(initialBalance);

        // 输出初始账户余额
        System.out.println(account.getBalance());

        // 提取amount额度后的账户余额
        account.withdraw(withdrawAmount);
        System.out.println(account.getBalance());

        // 存入amount后的账户余额
        account.deposit(depositAmount);
        System.out.println(account.getBalance());
    }
}